# 该模块用于生成库函数

# -Wall 打开所有警告
# Werror 把所有警告当作错误处理
# CFLAGS 		:= -g -Wall -Werror -O2

# 源文件路径
INC_DIR 	:= inc
SRC_DIR	 	:= src
BUILD_DIR	:= ../build_lib

# 源文件
C_SRCS 		:= $(wildcard $(SRC_DIR)/*.c)
C_OBJS		:= $(patsubst %.c, $(BUILD_DIR)/%.o, $(notdir $(C_SRCS)))
CPP_SRCS 	:= $(wildcard $(SRC_DIR)/*.cpp)
CPP_OBJS	:= $(patsubst %.cpp, $(BUILD_DIR)/%.o, $(notdir $(CPP_SRCS)))
OBJS		:= $(C_OBJS)$(CPP_OBJS)
INCS		:= $(patsubst %, -I%,  $(wildcard $(INC_DIR)))

$(warning $(C_OBJS))

all: $(LIB)

$(LIB): $(OBJS) 
	$(AR) rcs -o $(BUILD_DIR)/$@  $^

$(C_OBJS) : $(BUILD_DIR)/%.o : $(SRC_DIR)/%.c
	$(CC) -c -o $@ $<  $(INCS)

$(CPP_OBJS) : $(BUILD_DIR)/%.o :$(SRC_DIR)/%.cpp
	$(GG) -c -o $@ $< $(INCS)

.PHONY: clean
clean:
	$(RM) -rf $(BUILD_DIR)/*.o $(BUILD_DIR)/$(LIB)